package com.slipper.common.dao;

import java.util.List;
import java.util.Map;

public interface CommonDao {
    /**
     * 执行sql语句(一般用于建表操作)
     */
    void executeSql(String sql);

    /**
     * 执行新增sql
     * @param paramMap key为sql时，此内容为sql, 其它为sql #{}注入用到的参数
     */
    int insert(Map<String, Object> paramMap);

    /**
     * 执行更新sql
     * @param paramMap key为sql时，此内容为sql, 其它为sql #{}注入用到的参数
     */
    int update(Map<String, Object> paramMap);

    /**
     * 执行删除sql
     * @param paramMap key为sql时，此内容为sql, 其它为sql #{}注入用到的参数
     */
    int delete(Map<String, Object> paramMap);

    /**
     * 查询数量
     * @param paramMap key为sql时，此内容为sql, 其它为sql #{}注入用到的参数
     */
    int queryTotal(Map<String, Object> paramMap);

    /**
     * 查询一条记录
     * @param paramMap key为sql时，此内容为sql, 其它为sql #{}注入用到的参数
     */
    Map<String, Object> queryOne(Map<String, Object> paramMap);

    /**
     * 查询列表
     * @param paramMap key为sql时，此内容为sql, 其它为sql #{}注入用到的参数
     */
    List<Map<String, Object>> queryList(Map<String, Object> paramMap);

}
